package com.xqboss.apps.dto.user;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.*;
import java.util.Date;

/**
 * 用户身份
 *
 * @author makejava
 * @since 2023-12-05 14:58:38
 */
@Data
@ApiModel("用户-身份配置保存参数")
public class UserIdentitySaveDto {


    @ApiModelProperty("id")
    private Long id;

    @ApiModelProperty("身份名称")
    @NotBlank(message = "身份名称不能为空")
    private String name;

    @ApiModelProperty("最高段位")
    @Min(1)
    private Integer highestRank;

    @ApiModelProperty("冷却时间(分钟)")
    @NotNull(message = "冷却时间不能为空")
    private Integer cooldownTime;

    @ApiModelProperty("前置身份段位id")
    @NotNull(message = "前置身份段位id不能为空")
    private Long preIdentityRankId;

    @ApiModelProperty("是否支持身份卡 0否1是")
    @Min(0)
    @Max(1)
    private Integer isIdentityCard;

    @ApiModelProperty("是否支持碎片 0否1是")
    @Min(0)
    @Max(1)
    private Integer isFragments;

    @ApiModelProperty("身份卡藏品id")
    private Long identityCardNftId;

    @ApiModelProperty("身份卡消耗热豆数量")
    @Min(0)
    private Long identityCardIntegralCost;

    @ApiModelProperty("碎片藏品id")
    private Long fragmentNftId;

    @ApiModelProperty("碎片消耗热豆数量")
    @Min(0)
    private Long fragmentIntegralCost;

    @ApiModelProperty("碎片热豆消耗系数")
    @DecimalMin(value = "1")
    private Float fragmentIntegralCostFactor;

}